package com.elite.spi;

import com.elite.spi.application.MyApplication;
import jakarta.servlet.ServletContainerInitializer;
import jakarta.servlet.ServletContext;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.HandlesTypes;
import org.springframework.web.WebApplicationInitializer;

import java.util.Set;

/**
 * 测试 Servlet 的API中的SPI（Service Provider Interface，服务提供者接口
 * 		Servlet API的SPI是在Web容器启动时触发的。Web容器在启动时会查找并加载类路径上的所有SPI实现类
 *
 * 它会在Web容器启动时触发的。Web容器在启动时会查找并加载类路径上的所有 MyApplication这个接口的 所有实现类
 */
@HandlesTypes(MyApplication.class)
public class MyServletContainerInitializer implements ServletContainerInitializer {
	@Override
	public void onStartup(Set<Class<?>> c, ServletContext ctx) throws ServletException {
		System.out.println("c = " + c);

	}
}
